﻿// STATS MODULE
//      Luca Puccini
//      Marco Cornolti
//      Michele Sottile
//      Matteo Parchi

// AS DRIVER FEEDBACK OBJECT

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Stats.Objects
{
    /// <summary>
    /// Represents the object returned when groupware requests the userID driver feedback
    /// </summary>
    public class AsDriverFeedback
    {
        /// <summary>
        /// The userID
        /// </summary>
        public int UserID { get; set; }


        /// <summary>
        /// Global vote for the user as driver
        /// </summary>
        public double Vote { get; set; }


        /// <summary>
        /// Punctuality feedback value for the user as driver
        /// </summary>
        public double Punctuality { get; set; }


        /// <summary>
        /// Reliability feedback value for the user as driver
        /// </summary>
        public double Reliability { get; set; }


        /// <summary>
        /// Courtesy feedback value for the user as driver
        /// </summary>
        public double Courtesy { get; set; }


        ///<summary>
        /// Number of feedbacks left for the user as driver
        /// </summary>
        public int FeedbacksAsDriverCount { get; set; }
        
        /// <summary>
        /// Constructor for the AsDriverFeedback object with userID, user (global vote, punctuality, reliability and courtesy) as passenger
        /// </summary>
        /// <param name="uid">User ID</param>
        /// <param name="driver_vote">User global vote as driver</param>
        /// <param name="driver_punctuality">User punctuality as driver</param>
        /// <param name="driver_reliability">User reliability as driver</param>
        /// <param name="driver_courtesy">User courtesy as driver</param>
        /// <param name="numFeedbacksAsDriver">Number of feedbacks left for the user as driver</param>
        /// <example>
        /// <code>
        /// AsDriverFeedback drvFdb = new AsDriverFeedback("Mark81",(4.9),(6.5),(5.7),(8.5),5);
        /// </code>
        /// </example> 
        public AsDriverFeedback (int uid, double driver_vote, double driver_punctuality, double driver_reliability, double driver_courtesy, int numFeedbacksAsDriver)
        {
            UserID = uid;
            Vote = driver_vote;
            Punctuality = driver_punctuality;
            Reliability = driver_reliability;
            Courtesy = driver_courtesy;
            FeedbacksAsDriverCount = numFeedbacksAsDriver;
        }


        


        


        
        
        

    }
}
